gnus-util.el (gnus-macroexpand-all): Use eval-and-compile.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Sun, 5 Dec 2010 23:29:50 +0000 (23:29 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Sun, 5 Dec 2010 23:29:50 +0000 (23:29 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-util.el

index 9fa07346d5427fb4348f0354aa1c04507eb1fab6..9484c24365160800a8557b560bd833a7392cac78 100644 (file)
@@ -1,3 +1,7 @@
+2010-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-util.el (gnus-macroexpand-all): Use eval-and-compile.
+
 2010-12-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus-sum.el (gnus-summary-respool-article): The completion function
index 45fd26c86c03e0e29f8d78a21f4c48d5c7d67e79..fa4bf076a3058f9e705ffa5f7bbefa7c284ff320 100644 (file)
@@ -2037,25 +2037,26 @@ Same as `string-match' except this function does not change the match data."
     (save-match-data
       (string-match regexp string start))))
 
-(if (fboundp 'macroexpand-all)
-    (defalias 'gnus-macroexpand-all 'macroexpand-all)
-  (defun gnus-macroexpand-all (form &optional environment)
-    "Return result of expanding macros at all levels in FORM.
+(eval-and-compile
+  (if (fboundp 'macroexpand-all)
+      (defalias 'gnus-macroexpand-all 'macroexpand-all)
+    (defun gnus-macroexpand-all (form &optional environment)
+      "Return result of expanding macros at all levels in FORM.
 If no macros are expanded, FORM is returned unchanged.
 The second optional arg ENVIRONMENT specifies an environment of macro
 definitions to shadow the loaded ones for use in file byte-compilation."
-    (if (consp form)
-       (let ((idx 1)
-             (len (length (setq form (copy-sequence form))))
-             expanded)
-         (while (< idx len)
-           (setcar (nthcdr idx form) (gnus-macroexpand-all (nth idx form)
-                                                           environment))
-           (setq idx (1+ idx)))
-         (if (eq (setq expanded (macroexpand form environment)) form)
-             form
-           (gnus-macroexpand-all expanded environment)))
-      form)))
+      (if (consp form)
+         (let ((idx 1)
+               (len (length (setq form (copy-sequence form))))
+               expanded)
+           (while (< idx len)
+             (setcar (nthcdr idx form) (gnus-macroexpand-all (nth idx form)
+                                                             environment))
+             (setq idx (1+ idx)))
+           (if (eq (setq expanded (macroexpand form environment)) form)
+               form
+             (gnus-macroexpand-all expanded environment)))
+       form))))
 
 (provide 'gnus-util)